package com.agritech.command;

import com.agritech.machine.AgriculturalMachineContext;

public class WorkMachineCommand implements Command {
    private AgriculturalMachineContext machine;

    public WorkMachineCommand(AgriculturalMachineContext machine) {
        this.machine = machine;
    }

    @Override
    public void execute() {
        System.out.println("命令模式: 准备执行农机 [" + machine.getMachineId() + "] 作业命令。");
        machine.work();
    }

    @Override
    public void undo() {
        // 作业的撤销比较复杂，可能意味着停止作业或回退到某个检查点
        // 这里简单处理为停止作业
        System.out.println("命令模式: 准备撤销农机 [" + machine.getMachineId() + "] 作业命令 (即停止作业)。");
        machine.stop(); // 假设撤销作业是停止当前作业
    }
}